水無瀬の部屋 > Programming > sample > tools > code > main.cpp |
---|
1: //*********************************************************
2: // プロジェクト: TOOLS
3: // ファイル名: main.cpp
4: //*********************************************************
5:
6:
7: //---------------------------------------------------------
8: // マクロ の 定義
9: //---------------------------------------------------------
10: #ifndef PROGRAM_TITLE
11: #define PROGRAM_TITLE ""
12: #endif
13:
14:
15: //*********************************************************
16: // WinMain
17: // 開始関数 (非コンソール版)
18: //*********************************************************
19: int
20: WINAPI
21: WinMain
22: (
23: HINSTANCE hInstance,
24: HINSTANCE ,
25: LPSTR ,
26: int
27: )
28: {
29: // 実行時間を計る
30: #ifdef _DEBUG // デバッグ版
31: const DWORD dwStart = GetTickCount();
32: #endif // #ifdef _DEBUG
33:
34: // コマンドラインを解析する
35: int argc;
36: char **argv = argcargv( &argc, GetCommandLine(), FLG_ARGCARGV_MSDEFAULT );
37: if ( !argv )
38: {
39: ERROR_REPORT( "%s(%d) : %s \r\n", __FILE__, __LINE__,
40: "argcargv() が失敗しました。" );
41: return EXIT_FAILURE;
42: }
43: ASSERT( IsValidArgcArgv( argc, argv ) );
44: ASSERT( IsPathMyself( argv[ 0 ] ) ); // 自分自身
45:
46: // [BACKGROUND] 起動オプション
47: {for( int i = 0; i < argc; ++i )
48: {
49: BACKGROUND_MESSAGE( "argv[%2d]=%s\r\n", i, argv[ i ] );
50: }}
51:
52: // アプリケーションを実行する
53: InitCommonControls();
54: VERIFY( S_OK == CoInitialize( null ) );
55: const int result = ApplicationMainProc( hInstance, argc, argv );
56: CoUninitialize();
57:
58: //
59: ASSERT( IsValidArgcArgv( argc, argv ) );
60: ASSERT( IsPathMyself( argv[ 0 ] ) ); // 自分自身
61: free_argcargv( argc, argv );
62:
63: //
64: // デバッグ版時に統計情報を表示
65: //
66: #ifdef _DEBUG // デバッグ版
67: {
68: //
69: const DWORD dwTime = GetTickCount() - dwStart;
70:
71: //
72: char buf[ 1024 ];
73: snprintf
74: (
75: buf,
76: numof( buf ),
77: "%s\r\n\r\n稼働時間 %02d:%02d:%02d\r\n",
78: "テストが終了しました",
79: ((dwTime / 1000) / 60) / 60,
80: ((dwTime / 1000) / 60) % 60,
81: (dwTime / 1000) % 60
82: );
83: DBG_MSGBOX
84: (
85: HWND_DESKTOP,
86: PROGRAM_TITLE,
87: buf
88: );
89: }
90: #endif // #ifdef _DEBUG
91:
92: return result;
93: }//WinMain
94:
95:
96: #ifdef _CONSOLE
97: //*********************************************************
98: // main
99: // 開始関数 (コンソール版)
100: //*********************************************************
101: int
102: main
103: (
104: void
105: )
106: {
107: //
108: STARTUPINFO si;
109: si.cb = sizeof( si );
110: GetStartupInfo( &si );
111:
112: //
113: return WinMain
114: (
115: GetModuleHandle( null ),
116: null,
117: GetCommandLine(),
118: si.wShowWindow
119: );
120: }//main
121: #endif
122:
123:
124: //** end **
参照:
main.cpp, main.cpp, main.cpp, main.cpp, main.cpp, main.cpp, main.cpp
水無瀬の部屋 > sample > tools > code > main.cpp |
---|
このページは cpp2web が出力しました。
水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
http://katsura-kotonoha.sakura.ne.jp/prog/code/tools/code/main_cpp.shtml
>> Amazon.co.jp 『たまゆら童子』 へ
>> 楽天ブックス 『たまゆら童子』 へ